#!/bin/bash

# MongoDB 同步快速开始脚本
# 一键完成构建、启动和全量同步

set -e

echo "🚀 MongoDB 同步快速开始"
echo "=========================="

# 检查必要文件
echo "📋 检查必要文件..."
if [ ! -f "Dockerfile" ]; then
    echo "❌ Dockerfile 不存在"
    exit 1
fi

if [ ! -f "docker-compose.yml" ]; then
    echo "❌ docker-compose.yml 不存在"
    exit 1
fi

echo "✅ 文件检查通过"

# 构建镜像
echo "🔨 构建自定义 mongosync 镜像..."
docker-compose build mongosync
echo "✅ 镜像构建完成"

# 启动数据库
echo "🗄️  启动 MongoDB 数据库..."
docker-compose up -d mongodb-source mongodb-target

echo "⏳ 等待数据库初始化（30秒）..."
sleep 30

# 检查数据库状态
echo "🔍 检查数据库状态..."
if docker-compose ps | grep -q "Up"; then
    echo "✅ 数据库启动成功"
else
    echo "❌ 数据库启动失败"
    exit 1
fi

# 执行全量同步
echo "🔄 开始全量同步..."
docker-compose --profile sync run --rm mongosync /home/mongosync/scripts/full-sync.sh

echo "✅ 全量同步完成"

# 验证结果
echo "🔍 验证同步结果..."
docker-compose exec mongodb-source mongosh --username admin --password passwordA --authenticationDatabase admin --file /docker-entrypoint-initdb.d/verify-sync.js

echo ""
echo "🎉 MongoDB 同步任务完成！"
echo ""
echo "📊 数据库连接信息："
echo "   源数据库: localhost:27027 (admin/passwordA)"
echo "   目标数据库: localhost:27020 (admin/passwordB)"
echo ""
echo "🔧 其他操作："
echo "   查看状态: docker-compose ps"
echo "   查看日志: docker-compose logs"
echo "   清理环境: docker-compose down -v" 